HPPA Options

Contents|Index|Previous|Next
HPPA options

The following ‘-m’ options are defined for the HPPA family of computers.

-mpa-risc-1-0

Generate code for a PA 1.0 processor.

-mpa-risc-1-1

Generate code for a PA 1.1 processor.

-mbig-switch

Generate code suitable for big switch tables. Use this option only if the assembler/linker complain about out of range branches within a switch table.

-mjump-in-delay

Fill delay slots of function calls with unconditional jump instructions by modifying the return pointer for the function call to be the target of the conditional jump.

-mdisable-fpregs

Prevent floating point registers from being used in any manner. This is necessary for compiling kernels which perform lazy context switching of floating point registers. If you use this option and attempt to perform floating point operations, the compiler will abort.

-mdisable-indexing

Prevent the compiler from using indexing address modes. This avoids some rather obscure problems when compiling MIG generated code under MACH.

-mno-space-regs

Generate code that assumes the target has no space registers.
This allows GCC to generate faster indirect calls and use unscaled index address modes.
Such code is suitable for level 0 PA systems and kernels.

-mfast-indirect-calls

Generate code that assumes calls never cross space boundaries. This allows GCC to emit code which performs faster indirect calls.
This option will not work in the presense of shared libraries or nested functions.

-mspace

Optimize for space rather than execution time. Currently this only enables out of line function prologues and epilogues. This option is incompatible with PIC code generation and profiling.

-mlong-load-store

Generate 3-instruction load and store sequences as sometimes required by the HPUX 10 linker. This is equivalent to the ‘+k’ option to the HP compilers.

-mportable-runtime

Use the portable calling conventions proposed by HP for ELF systems.

-mgas

Enable the use of assembler directives only GAS understands.

-mschedule=cpu type

Schedule code according to the constraints for the machine type cpu type. The choices for cpu type are 700 for 7n0 machines, 7100 for 7n5 machines, and 7100 for 7n2 machines. 7100 is the default for cpu type.

Note:
The 7100LC scheduling information is incomplete and using 7100LC often leads to bad schedules. For now it’s probably best to use 7100 instead of 7100LC for the 7n2 machines.

-mlinker-opt

Enable the optimization pass in the HPUX linker.

Note:
This makes symbolic debugging impossible. It also triggers a bug in the HPUX 8 and HPUX 9 linkers in which they give bogus error messages when linking some programs.

-msoft-float

Generate output containing library calls for floating point.

Warning:
The requisite libraries are not available for all HPPA targets. Normally the facilities of the machine’s usual C compiler are used, but this cannot be done directly in cross-compilation. You must make your own arrangements to provide suitable library functions for cross-compilation. The embedded target hppa1.1-*-pro does provide software floating point support.

-msoft-float changes the calling convention in the output file; therefore, it is only useful if you compile all of a program with this option. In particular, you need to compile libgcc.a, the library that comes with GNU CC, with -msoft-float in order for this to work.

Top|Contents|Index|Previous|Next